CCM.ccDgrams

Provides functions for all of the coupled cluster diagrams

Functions

dgram_acik_bcjk(v_ppph_res, t2)

Calculates - P(ij)P(ab)X^{ac}_{ij}t^{bc}_{jk}

dgram_akci_ck(v_phph, t1)

Calculates -V^{ak}_{ci}t^{c}_{k}

dgram_bijk_ak1(v_ppph_res, t1)

Calculates 0.5 * P(ab)X^{bi}_{jk}t^{a}_{k}

dgram_bijk_ak2(v_ppph_res, t1)

Calculates 0.5 * P(ij)P(ab)X^{bi}_{jk}t^{a}_{k}

dgram_bijk_bj(v_phhh, t1)

Calculates -V^{bi}_{jk}t^{b}_{j}

dgram_bkci_ak_cj(v_phph, t1)

Calculates - P(ij)P(ab)V^{bk}_{ci}t^{a}_{k}t^{c}_{j}

dgram_bkcj_acik(v_phph, t2)

Calculates -P(ij)P(ab)V^{bk}_{cj}t^{cb}_{ik}

dgram_bkij_ak(v_phhh, t1)

Calculates P(ab)V^{bk}_{ij}t^{a}_{k}

dgram_cdkl_acik_dblj(v_pphh, t2)

Calculates 0.5 * P(ij)P(ab)V^{cd}_{kl}t^{ac}_{ik}t^{db}_{lj}

dgram_cdkl_ak_bl_cdij(v_pphh, t1, t2)

Calculates 0.25 * P(ab)V^{cd}_{kl}t^{a}_{k}t^{b}_{l}t^{cd}_{ij}

dgram_cdkl_bdkl(v_pphh, t2)

Calculates -0.5 * V^{cd}_{kl}t^{bd}_{kl}

dgram_cdkl_cdij_abkl(v_pphh, t2)

Calculates 0.25 * P(ab)V^{cd}_{kl}t^{cd}_{ij}t^{ab}_{kl}

dgram_cdkl_cdjl(v_pphh, t2)

Calculates -0.5 * V^{cd}_{kl}t^{cd}_{jl}

dgram_cdkl_ci_ak_dj_bl(v_pphh, t1)

Calculates 0.25 * P(ij)P(ab)V^{cd}_{kl}t^{c}_{i}t^{a}_{k}t^{d}_{j}t^{b}_{l}

dgram_cdkl_ci_bl_adkj(v_pphh, t1, t2)

Calculates P(ij)P(ab)V^{cd}_{kl}t^{c}_{i}t^{b}_{l}t^{ad}_{kj}

dgram_cdkl_ci_dj_abkl(v_pphh, t1, t2)

Calculates 0.25 * P(ij)V^{cd}_{kl}t^{c}_{i}t^{d}_{j}t^{ab}_{kl}

dgram_cdkl_ck_dali(v_pphh, t1, t2)

Calculates V^{cd}_{kl}t^{c}_{k}t^{da}_{li}

dgram_cdkl_dk_al(v_pphh, t1)

Calculates 0.5 * V^{cd}_{kl}t^{d}_{k}t^{a}_{l}

dgram_cdlk_cdli(v_pphh, t2)

Calculates -0.5 * V^{cd}_{lk}t^{cd}_{li}

dgram_cdlk_cl_di(v_pphh, t1)

Calculates -0.5 * V^{cd}_{lk}t^{c}_{l}t^{d}_{i}

dgram_cdlk_cl_dj(v_pphh, t1)

Calculates -V^{cd}_{kl}t^{c}_{l}t^{d}_{j}

dgram_cdlk_dk_bl(v_pphh, t1)

Calculates -V^{cd}_{kl}t^{d}_{k}t^{b}_{l}

dgram_cikl_al_bcjk(v_phhh, t1, t2)

Calculates - P(ij)P(ab)V^{ci}_{kl}t^{a}_{l}t^{bc}_{jk}

dgram_cikl_cakl(v_phhh, t2)

Calculates -0.5 * V^{ci}_{kl}t^{ca}_{kl}

dgram_cikl_ck_ablj(v_phhh, t1, t2)

Calculates - P(ij)V^{ci}_{kl}t^{c}_{k}t^{ab}_{lj}

dgram_cjkl_ci_abkl(v_phhh, t1, t2)

Calculates 0.5 * P(ij)V^{cj}_{kl}t^{c}_{i}t^{ab}_{kl}

dgram_cjkl_ci_ak_bl(v_phhh, t1)

Calculates 0.5 * P(ij)P(ab)V^{cj}_{kl}t^{c}_{i}t^{a}_{k}t^{b}_{l}

dgram_ck_acik(f_ph, t2)

Calculates f^{c}_{k}t^{ac}_{ik}

dgram_ck_ak(f_ph, t1)

Calculates -0.5 * f^{c}_{k}t^{a}_{k}

dgram_ck_bk(f_ph, t1)

Calculates - * f^{c}_{k}t^{b}_{k}

dgram_ck_ci(f_ph, t1)

Calculates -0.5 * f^{c}_{k}t^{c}_{i}

dgram_ck_cj(f_ph, t1)

Calculates - * f^{c}_{k}t^{c}_{j}

dgram_da_dbij(v_ppph_res, t2)

Calculates - P(ab)X^d_at^{db}_{ij}

dgram_dckl_dakl(v_pphh, t2)

Calculates -0.5 * V^{dc}_{kl}t^{da}_{kl}

dgram_klij_abkl(v_hhhh, t2)

Calculates 0.5 * V^{kl}_{ij}t^{ab}_{kl}

dgram_klij_ak_bl(v_hhhh, t1)

Calculates - 0.5 * P(ab)V^{kl}_{ij}t^{a}_{k}t^{b}_{l}

pAB(val)

Permutator for ab

pIJ(val)

Permutator for ij

v_ppph_dgrams(v_ppph, t1, t2)

Calculates all 6 of the diagrams that use v_pppp using the fact that it is sparse

v_pppp_dgrams(v_pppp, t1, t2)

Calculates both of the diagrams that use v_pppp using the fact that it is sparse

CCM.ccDgrams.v_ppph_dgrams(v_ppph, t1, t2)

Calculates all 6 of the diagrams that use v_pppp using the fact that it is sparse

Parameters:
  • v_ppph (list[(int, int, int, int, float)]) – nonzeroes of the two body interaction matrix V^{ab}_{ck}

  • t1 (numpy array) – T1 matrix t_i^a

  • t2 (numpy array) – T2 matrix t_{ij}^{ab}

Returns:

The result of the 6 diagrams that contribute to t1 and t2

Return type:

list[numpy array]

CCM.ccDgrams.dgram_akci_ck(v_phph, t1)

Calculates -V^{ak}_{ci}t^{c}_{k}

Parameters:
  • v_phph (numpy array) – two body interaction matrix V^{ai}_{bj}

  • t1 (numpy array) – T^{a}_{i} from the coupled cluster equations

Returns:

result of the contraction

Return type:

numpy array

CCM.ccDgrams.dgram_ck_acik(f_ph, t2)

Calculates f^{c}_{k}t^{ac}_{ik}

Parameters:
  • f_ph (numpy array) – Fock matrix f^{a}_{i}

  • t2 (numpy array) – T^{ab}_{ij} from the coupled cluster equations

Returns:

result of the contraction

Return type:

numpy array

CCM.ccDgrams.dgram_cikl_cakl(v_phhh, t2)

Calculates -0.5 * V^{ci}_{kl}t^{ca}_{kl}

Parameters:
  • v_phhh (numpy array) – two body interaction matrix V^{ai}_{jk}

  • t2 (numpy array) – T^{ab}_{ij} from the coupled cluster equations

Returns:

result of the contraction

Return type:

numpy array

CCM.ccDgrams.dgram_cdkl_ck_dali(v_pphh, t1, t2)

Calculates V^{cd}_{kl}t^{c}_{k}t^{da}_{li}

Parameters:
  • v_pphh (numpy array) – two body interaction matrix V^{ab}_{ij}

  • t1 (numpy array) – T^{a}_{i} from the coupled cluster equations

  • t2 (numpy array) – T^{ab}_{ij} from the coupled cluster equations

Returns:

result of the contraction

Return type:

numpy array

CCM.ccDgrams.dgram_ck_ci(f_ph, t1)

Calculates -0.5 * f^{c}_{k}t^{c}_{i}

Parameters:
  • f_ph (numpy array) – Fock matrix f^{a}_{i}

  • t1 (numpy array) – T^{a}_{i} from the coupled cluster equations

Returns:

result of the contraction

Return type:

numpy array

CCM.ccDgrams.dgram_ck_ak(f_ph, t1)

Calculates -0.5 * f^{c}_{k}t^{a}_{k}

Parameters:
  • f_ph (numpy array) – Fock matrix f^{a}_{i}

  • t1 (numpy array) – T^{a}_{i} from the coupled cluster equations

Returns:

result of the contraction

Return type:

numpy array

CCM.ccDgrams.dgram_bijk_bj(v_phhh, t1)

Calculates -V^{bi}_{jk}t^{b}_{j}

Parameters:
  • v_phhh (numpy array) – two body interaction matrix V^{bi}_{jk}

  • t1 (numpy array) – T^{a}_{i} from the coupled cluster equations

Returns:

result of the contraction

Return type:

numpy array

CCM.ccDgrams.dgram_cdlk_cdli(v_pphh, t2)

Calculates -0.5 * V^{cd}_{lk}t^{cd}_{li}

Parameters:
  • v_pphh (numpy array) – two body interaction matrix V^{ab}_{ij}

  • t2 (numpy array) – T^{ab}_{ij} from the coupled cluster equations

Returns:

result of the contraction

Return type:

numpy array

CCM.ccDgrams.dgram_dckl_dakl(v_pphh, t2)

Calculates -0.5 * V^{dc}_{kl}t^{da}_{kl}

Parameters:
  • v_pphh (numpy array) – two body interaction matrix V^{ab}_{ij}

  • t2 (numpy array) – T^{ab}_{ij} from the coupled cluster equations

Returns:

result of the contraction

Return type:

numpy array

CCM.ccDgrams.dgram_cdlk_cl_di(v_pphh, t1)

Calculates -0.5 * V^{cd}_{lk}t^{c}_{l}t^{d}_{i}

Parameters:
  • v_pphh (numpy array) – two body interaction matrix V^{ab}_{ij}

  • t1 (numpy array) – T^{a}_{i} from the coupled cluster equations

Returns:

result of the contraction

Return type:

numpy array

CCM.ccDgrams.dgram_cdkl_dk_al(v_pphh, t1)

Calculates 0.5 * V^{cd}_{kl}t^{d}_{k}t^{a}_{l}

Parameters:
  • v_pphh (numpy array) – two body interaction matrix V^{ab}_{ij}

  • t1 (numpy array) – T^{a}_{i} from the coupled cluster equations

Returns:

result of the contraction

Return type:

numpy array

CCM.ccDgrams.pAB(val)

Permutator for ab

Parameters:

val (numpy array) – array to be permutated over

Returns:

val^{ab}_{ij} - val^{ba}_{ij}

Return type:

numpy array

CCM.ccDgrams.pIJ(val)

Permutator for ij

Parameters:

val (numpy array) – array to be permutated over

Returns:

val^{ab}_{ij} - val^{ab}_{ji}

Return type:

numpy array

CCM.ccDgrams.v_pppp_dgrams(v_pppp, t1, t2)

Calculates both of the diagrams that use v_pppp using the fact that it is sparse

Parameters:
  • v_pppp (list[(int, int, int, int, float)]) – nonzeroes of the two body interaction matrix V^{ab}_{cd}

  • t1 (numpy array) – T1 matrix t_i^a

  • t2 (numpy array) – T2 matrix t_{ij}^{ab}

Returns:

The result of the two diagrams that contribute to t2

Return type:

numpy array, numpy array

CCM.ccDgrams.dgram_klij_abkl(v_hhhh, t2)

Calculates 0.5 * V^{kl}_{ij}t^{ab}_{kl}

Parameters:
  • v_hhhh (numpy array) – two body interaction matrix V^{kl}_{ij}

  • t2 (numpy array) – T^{ab}_{ij} from the coupled cluster equations

Returns:

result of the contraction

Return type:

numpy array

CCM.ccDgrams.dgram_bkcj_acik(v_phph, t2)

Calculates -P(ij)P(ab)V^{bk}_{cj}t^{cb}_{ik}

Parameters:
  • v_phph (numpy array) – two body interaction matrix V^{bk}_{cj}

  • t2 (numpy array) – T^{ab}_{ij} from the coupled cluster equations

Returns:

result of the contraction

Return type:

numpy array

CCM.ccDgrams.dgram_bkij_ak(v_phhh, t1)

Calculates P(ab)V^{bk}_{ij}t^{a}_{k}

Parameters:
  • v_phhh (numpy array) – two body interaction matrix V^{bk}_{ij}

  • t1 (numpy array) – T^{a}_{i} from the coupled cluster equations

Returns:

result of the contraction

Return type:

numpy array

CCM.ccDgrams.dgram_cdkl_acik_dblj(v_pphh, t2)

Calculates 0.5 * P(ij)P(ab)V^{cd}_{kl}t^{ac}_{ik}t^{db}_{lj}

Parameters:
  • v_pphh (numpy array) – two body interaction matrix V^{ab}_{ij}

  • t2 (numpy array) – T^{ab}_{ij} from the coupled cluster equations

Returns:

result of the contraction

Return type:

numpy array

CCM.ccDgrams.dgram_cdkl_cdij_abkl(v_pphh, t2)

Calculates 0.25 * P(ab)V^{cd}_{kl}t^{cd}_{ij}t^{ab}_{kl}

Parameters:
  • v_pphh (numpy array) – two body interaction matrix V^{ab}_{ij}

  • t2 (numpy array) – T^{ab}_{ij} from the coupled cluster equations

Returns:

result of the contraction

Return type:

numpy array

CCM.ccDgrams.dgram_klij_ak_bl(v_hhhh, t1)

Calculates - 0.5 * P(ab)V^{kl}_{ij}t^{a}_{k}t^{b}_{l}

Parameters:
  • v_hhhh (numpy array) – two body interaction matrix V^{kl}_{ij}

  • t1 (numpy array) – T^{a}_{i} from the coupled cluster equations

Returns:

result of the contraction

Return type:

numpy array

CCM.ccDgrams.dgram_bkci_ak_cj(v_phph, t1)

Calculates - P(ij)P(ab)V^{bk}_{ci}t^{a}_{k}t^{c}_{j}

Parameters:
  • v_phph (numpy array) – two body interaction matrix V^{ai}_{bj}

  • t1 (numpy array) – T^{a}_{i} from the coupled cluster equations

Returns:

result of the contraction

Return type:

numpy array

CCM.ccDgrams.dgram_cikl_ck_ablj(v_phhh, t1, t2)

Calculates - P(ij)V^{ci}_{kl}t^{c}_{k}t^{ab}_{lj}

Parameters:
  • v_phhh (numpy array) – two body interaction matrix V^{ai}_{jk}

  • t1 (numpy array) – T^{a}_{i} from the coupled cluster equations

  • t2 (numpy array) – T^{ab}_{ij} from the coupled cluster equations

Returns:

result of the contraction

Return type:

numpy array

CCM.ccDgrams.dgram_da_dbij(v_ppph_res, t2)

Calculates - P(ab)X^d_at^{db}_{ij}

Parameters:
  • v_ppph_res (numpy array) – intermediate result 3 from v_ppph_dgrams()

  • t2 (numpy array) – T^{ab}_{ij} from the coupled cluster equations

Returns:

result of the contraction

Return type:

numpy array

CCM.ccDgrams.dgram_acik_bcjk(v_ppph_res, t2)

Calculates - P(ij)P(ab)X^{ac}_{ij}t^{bc}_{jk}

Parameters:
  • v_ppph_res (numpy array) – intermediate result 4 from v_ppph_dgrams()

  • t2 (numpy array) – T^{ab}_{ij} from the coupled cluster equations

Returns:

result of the contraction

Return type:

numpy array

CCM.ccDgrams.dgram_cikl_al_bcjk(v_phhh, t1, t2)

Calculates - P(ij)P(ab)V^{ci}_{kl}t^{a}_{l}t^{bc}_{jk}

Parameters:
  • v_phhh (numpy array) – two body interaction matrix V^{ai}_{jk}

  • t1 (numpy array) – T^{a}_{i} from the coupled cluster equations

  • t2 (numpy array) – T^{ab}_{ij} from the coupled cluster equations

Returns:

result of the contraction

Return type:

numpy array

CCM.ccDgrams.dgram_cjkl_ci_abkl(v_phhh, t1, t2)

Calculates 0.5 * P(ij)V^{cj}_{kl}t^{c}_{i}t^{ab}_{kl}

Parameters:
  • v_phhh (numpy array) – two body interaction matrix V^{ai}_{jk}

  • t1 (numpy array) – T^{a}_{i} from the coupled cluster equations

  • t2 (numpy array) – T^{ab}_{ij} from the coupled cluster equations

Returns:

result of the contraction

Return type:

numpy array

CCM.ccDgrams.dgram_bijk_ak1(v_ppph_res, t1)

Calculates 0.5 * P(ab)X^{bi}_{jk}t^{a}_{k}

Parameters:
  • v_ppph_res (numpy array) – intermediate result 5 from v_ppph_dgrams()

  • t1 (numpy array) – T^{a}_{i} from the coupled cluster equations

Returns:

result of the contraction

Return type:

numpy array

CCM.ccDgrams.dgram_bijk_ak2(v_ppph_res, t1)

Calculates 0.5 * P(ij)P(ab)X^{bi}_{jk}t^{a}_{k}

Parameters:
  • v_ppph_res (numpy array) – intermediate result 6 from v_ppph_dgrams()

  • t1 (numpy array) – T^{a}_{i} from the coupled cluster equations

Returns:

result of the contraction

Return type:

numpy array

CCM.ccDgrams.dgram_cjkl_ci_ak_bl(v_phhh, t1)

Calculates 0.5 * P(ij)P(ab)V^{cj}_{kl}t^{c}_{i}t^{a}_{k}t^{b}_{l}

Parameters:
  • v_phhh (numpy array) – two body interaction matrix V^{ai}_{jk}

  • t1 (numpy array) – T^{a}_{i} from the coupled cluster equations

Returns:

result of the contraction

Return type:

numpy array

CCM.ccDgrams.dgram_cdkl_ci_dj_abkl(v_pphh, t1, t2)

Calculates 0.25 * P(ij)V^{cd}_{kl}t^{c}_{i}t^{d}_{j}t^{ab}_{kl}

Parameters:
  • v_pphh (numpy array) – two body interaction matrix V^{ab}_{jk}

  • t1 (numpy array) – T^{a}_{i} from the coupled cluster equations

  • t2 (numpy array) – T^{ab}_{ij} from the coupled cluster equations

Returns:

result of the contraction

Return type:

numpy array

CCM.ccDgrams.dgram_cdkl_ak_bl_cdij(v_pphh, t1, t2)

Calculates 0.25 * P(ab)V^{cd}_{kl}t^{a}_{k}t^{b}_{l}t^{cd}_{ij}

Parameters:
  • v_pphh (numpy array) – two body interaction matrix V^{ab}_{jk}

  • t1 (numpy array) – T^{a}_{i} from the coupled cluster equations

  • t2 (numpy array) – T^{ab}_{ij} from the coupled cluster equations

Returns:

result of the contraction

Return type:

numpy array

CCM.ccDgrams.dgram_cdkl_ci_bl_adkj(v_pphh, t1, t2)

Calculates P(ij)P(ab)V^{cd}_{kl}t^{c}_{i}t^{b}_{l}t^{ad}_{kj}

Parameters:
  • v_pphh (numpy array) – two body interaction matrix V^{ab}_{jk}

  • t1 (numpy array) – T^{a}_{i} from the coupled cluster equations

  • t2 (numpy array) – T^{ab}_{ij} from the coupled cluster equations

Returns:

result of the contraction

Return type:

numpy array

CCM.ccDgrams.dgram_cdkl_ci_ak_dj_bl(v_pphh, t1)

Calculates 0.25 * P(ij)P(ab)V^{cd}_{kl}t^{c}_{i}t^{a}_{k}t^{d}_{j}t^{b}_{l}

Parameters:
  • v_pphh (numpy array) – two body interaction matrix V^{ab}_{jk}

  • t1 (numpy array) – T^{a}_{i} from the coupled cluster equations

Returns:

result of the contraction

Return type:

numpy array

CCM.ccDgrams.dgram_cdkl_bdkl(v_pphh, t2)

Calculates -0.5 * V^{cd}_{kl}t^{bd}_{kl}

Parameters:
  • v_pphh (numpy array) – two body interaction matrix V^{ab}_{jk}

  • t2 (numpy array) – T^{ab}_{ij} from the coupled cluster equations

Returns:

result of the contraction

Return type:

numpy array

CCM.ccDgrams.dgram_cdkl_cdjl(v_pphh, t2)

Calculates -0.5 * V^{cd}_{kl}t^{cd}_{jl}

Parameters:
  • v_pphh (numpy array) – two body interaction matrix V^{ab}_{jk}

  • t2 (numpy array) – T^{ab}_{ij} from the coupled cluster equations

Returns:

result of the contraction

Return type:

numpy array

CCM.ccDgrams.dgram_ck_bk(f_ph, t1)

Calculates - * f^{c}_{k}t^{b}_{k}

Parameters:
  • f_ph (numpy array) – Fock matrix f^{a}_{i}

  • t1 (numpy array) – T^{a}_{i} from the coupled cluster equations

Returns:

result of the contraction

Return type:

numpy array

CCM.ccDgrams.dgram_ck_cj(f_ph, t1)

Calculates - * f^{c}_{k}t^{c}_{j}

Parameters:
  • f_ph (numpy array) – Fock matrix f^{a}_{i}

  • t1 (numpy array) – T^{a}_{i} from the coupled cluster equations

Returns:

result of the contraction

Return type:

numpy array

CCM.ccDgrams.dgram_cdlk_cl_dj(v_pphh, t1)

Calculates -V^{cd}_{kl}t^{c}_{l}t^{d}_{j}

Parameters:
  • v_pphh (numpy array) – two body interaction matrix V^{ab}_{jk}

  • t1 (numpy array) – T^{a}_{i} from the coupled cluster equations

Returns:

result of the contraction

Return type:

numpy array

CCM.ccDgrams.dgram_cdlk_dk_bl(v_pphh, t1)

Calculates -V^{cd}_{kl}t^{d}_{k}t^{b}_{l}

Parameters:
  • v_pphh (numpy array) – two body interaction matrix V^{ab}_{jk}

  • t1 (numpy array) – T^{a}_{i} from the coupled cluster equations

Returns:

result of the contraction

Return type:

numpy array